package cn.com.huzo.repository.trade;

import cn.com.huzo.model.entities.trade.CommercialInvoiceLinesEntity;
import huzofw.repository.GenericRepository;
import java.util.List;
import java.util.Map;

/**
 * 销售发票明细数据访问对象接口。
 *
 * @author 吴旭
 */
public interface CommercialInvoiceLinesRepository extends GenericRepository<CommercialInvoiceLinesEntity, String> {

    /**
     * 根据ID取得销售发票明细信息。
     *
     * @param headerId 销售发票ID
     * @return 插入的数据主键
     */
    List<CommercialInvoiceLinesEntity> fetchByHeaderKey(Long headerId);

    /**
     * 根据向导所选择的，取得销售发票明细信息。
     *
     * @param criterion
     * @return 插入的数据主键
     */
    List<CommercialInvoiceLinesEntity> fetchByWizardResult(Map<String, Object> criterion);

    /**
     * 新增销售发票明细信息。
     *
     * @param criterion 所选择的销售合同和发货单
     * @return 插入的数据主键
     */
    Integer insert(Map<String, Object> criterion);
}
